home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
tex
/
cs_tex_4
/
cstex4_2.zoo
/
tugboat.lzh
/
STYLES
/
TUGBOAT
/
TUGBOAT.COM
< prev
next >
Wrap
Text File
|
1990-06-11
|
24KB
|
785 lines
% version 1.05
% 29 Mar 90
%
% ***** TUGBOAT.COM *****
%
% This file contains macros which are common to both the PLAIN
% and LaTeX style files for TUGboat.
% Among other things, it contains supplementary definitions for
% abbreviations and logos that appear in TUGboat. See the bottom
% of the file (after \endinput) for a list of items defined.
% *************************************************************************
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% ***** helpful shorthand *****
%
% The following allow for easier changes of category. These require that
% the character be addressed as a control-sequence: e.g. \makeescape\/ will
% make the / an escape character.
\def\makeescape#1{\catcode`#1=0 }
\def\makebgroup#1{\catcode`#1=1 }
\def\makeegroup#1{\catcode`#1=2 }
\def\makemath#1{\catcode`#1=3 }
\def\makealign#1{\catcode`#1=4 }
\def\makeeol#1{\catcode`#1=5 }
\def\makeparm#1{\catcode`#1=6 }
\def\makesup#1{\catcode`#1=7 }
\def\makesub#1{\catcode`#1=8 }
\def\makeignore#1{\catcode`#1=9 }
\def\makespace#1{\catcode`#1=10 }
\def\makeletter#1{\catcode`#1=11 }
\def\makeother#1{\catcode`#1=12 }
\def\makeactive#1{\catcode`#1=13 }
\def\makecomment#1{\catcode`#1=14 }
\def\makeatletter{\catcode`\@=11 } % included for historical reasons
\chardef\other=12
\def\makeatother{\catcode`\@=\other}
% alternative to localization
\def\savecat#1{%
\expandafter\xdef\csname\string#1savedcat\endcsname{\the\catcode`#1}}
\def\restorecat#1{\catcode`#1=\csname\string#1savedcat\endcsname}
\savecat\@
\makeletter\@ % used, as in PLAIN, in protected control sequences
% for restoring meanings of global control sequences
\def\SaveCS#1{%
\def\scratch{\expandafter\let\csname saved@@#1\endcsname}%
\expandafter\scratch\csname#1\endcsname}
\def\RestoreCS#1{%
\def\scratch{\expandafter\let\csname#1\endcsname}%
\expandafter\scratch\csname saved@@#1\endcsname}
% To distinguish between macro files loaded
\def\plaintubstyle{plain}
\def\latextubstyle{latex}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% ***** abbreviations and logos *****
%
\def\AMS{American Mathematical Society}
\def\AmSTeX{{\the\textfont2 A}\kern-.1667em\lower.5ex\hbox
{\the\textfont2 M}\kern-.125em{\the\textfont2 S}-\TeX}
\def\aw{A\kern.1em-W}
\def\AW{Addison\kern.1em-\penalty\z@\hskip\z@skip Wesley}
\def\BibTeX{{\rm B\kern-.05em{\smc i\kern-.025emb}\kern-.08em\TeX}}
\def\CandT{{\sl Computers \& Typesetting}}
\def\DVItoVDU{DVIto\kern-.12em VDU}
% Japanese TeX
\def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}}
\def\JoT{{\sl The Joy of \TeX}}
% note -- \LaTeX definition is from LATEX.TEX 2.09 of 7 Jan 86,
% adapted for additional flexibility in TUGboat
%\def\LaTeX{\TestCount=\the\fam \leavevmode L\raise.42ex
% \hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}\kern-.15em\TeX}
% note -- broken in two parts, to permit separate use of La,
% as in (La)TeX
\def\La{\TestCount=\the\fam \leavevmode L\raise.42ex
\hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}}
\def\LaTeX{\La\kern-.15em\TeX}
% for Robert McGaffey
\def\Mc{\setbox\TestBox=\hbox{M}M\vbox to\ht\TestBox{\hbox{c}\vfil}}
\font\manual=logo10 % font used for the METAFONT logo, etc.
\def\MF{{\manual META}\-{\manual FONT}}
\def\mf{{\smc Metafont}}
\def\MFB{{\sl The \slMF book}}
% multilingual (INRS) TeX
\def\mtex{T\kern-.1667em\lower.5ex\hbox{\^E}\kern-.125emX}
\def\pcMF{\leavevmode\raise.5ex\hbox{p\kern-.3ptc}MF}
\def\PCTeX{PC\thinspace\TeX}
\def\pcTeX{\leavevmode\raise.5ex\hbox{p\kern-.3ptc}\TeX}
\def\Pas{Pascal}
\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC}
\def\PiCTeX{\PiC\kern-.11em\TeX}
\def\plain{{\tt plain}}
\def\POBox{P.\thinspace O.~Box }
\def\POBoxTUG{\POBox\unskip~9506, Providence, RI~02940}
\def\PS{{Post\-Script}}
\def\SC{Steering Committee}
\def\SliTeX{{\rm S\kern-.06em{\smc l\kern-.035emi}\kern-.06em\TeX}}
\def\slMF{\MF}
% Use \font\manualsl=logosl10 instead, if it's available,
% for \def\slMF{{\manualsl META}\-{\manualsl FONT}}
% Atari ST (Klaus Guntermann)
\def\stTeX{{\smc st\rm\kern-0.13em\TeX}}
\def\TANGLE{{\tt TANGLE}}
\def\TB{{\sl The \TeX book}}
\def\TP{{\sl \TeX\/}: {\sl The Program\/}}
\def\TeX{T\hbox{\kern-.1667em\lower.424ex\hbox{E}\kern-.125emX}}
\def\TeXhax{\TeX hax}
% Don Hosek
\def\TeXMaG{\TeX M\kern-.1667em\lower.5ex\hbox{A}\kern-.2267emG}
%\def\TeXtures{\TestCount=\the\fam
% \TeX\-\hbox{$\fam\TestCount\scriptstyle TURES$}}
\def\TeXtures{{\it Textures}}
\def\TeXXeT{\TeX--X\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT}
\def\tubfont{\sl} % redefined in other situations
\def\TUB{{\tubfont TUGboat\/}}
\def\TUG{\TeX\ \UG}
\def\UG{Users Group}
\def\UNIX{{\smc unix}}
\def\VAX{\leavevmode\hbox{V\kern-.12em A\kern-.1em X}}
\def\VorTeX{V\kern-2.7pt\lower.5ex\hbox{O\kern-1.4pt R}\kern-2.6pt\TeX}
\def\XeT{\leavevmode\hbox{X\kern-.125em\lower.424ex\hbox{E}\kern-.1667emT}}
\def\WEB{{\tt WEB}}
\def\WEAVE{{\tt WEAVE}}
%********************************************************************
\newlinechar=`\^^J
\normallineskiplimit=1pt
\clubpenalty=10000
\widowpenalty=10000
\def\NoParIndent{\parindent=\z@}
\newdimen\normalparindent \normalparindent=20pt % plain = 20pt
\def\NormalParIndent{\global\parindent=\normalparindent}
\NormalParIndent
\def\BlackBoxes{\overfullrule=5pt }
\def\NoBlackBoxes{\overfullrule=\z@ }
\def\newline{\hskip\z@ plus \pagewd \break}
\def\nohyphens{\hyphenpenalty\@M\exhyphenpenalty\@M}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% ***** utility registers and definitions *****
%
% test registers for transient use; paired - internal/external
\newbox\T@stBox \newbox\TestBox
\newcount\T@stCount \newcount\TestCount
\newdimen\T@stDimen \newdimen\TestDimen
\newif\ifT@stIf \newif\ifTestIf
% \cs existence test, stolen from TeXbook exercise 7.7
\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax }
% Smashes repeated from AMS-TeX; PLAIN implements only full \smash .
\newif\iftop@ \newif\ifbot@
\def\topsmash{\top@true\bot@false\smash@}
\def\botsmash{\top@false\bot@true\smash@}
\def\smash{\top@true\bot@true\smash@}
\def\smash@{\relax\ifmmode\def\next{\mathpalette\mathsm@sh}%
\else\let\next\makesm@sh\fi \next }
\def\finsm@sh{\iftop@\ht\z@\z@\fi\ifbot@\dp\z@\z@\fi\box\z@}
% Vertical `laps'; cf. \llap and \rlap
\long\def\ulap#1{\vbox to \z@{\vss#1}}
\long\def\dlap#1{\vbox to \z@{#1\vss}}
% And centered horizontal and vertical `laps'
\def\xlap#1{\hbox to \z@{\hss#1\hss}}
\long\def\ylap#1{\vbox to \z@{\vss#1\vss}}
\long\def\zlap#1{\ylap{\xlap{#1}}}
% Avoid unwanted vertical glue when making up pages.
\def\basezero{\baselineskip\z@skip \lineskip\z@skip}
% Empty rules for special occasions
\def\nullhrule{\hrule height\z@ depth\z@ width\z@ }
\def\nullvrule{\vrule height\z@ depth\z@ width\z@ }
% Support ad-hoc strut construction.
\def\makestrut[#1;#2]{\vrule height#1 depth#2 width\z@ }
% Today's date, to be printed on drafts. Based on TeXbook, p.406.
\def\today{\number\day\space \ifcase\month\or
Jan \or Feb \or Mar \or Apr \or May \or Jun \or
Jul \or Aug \or Sep \or Oct \or Nov \or Dec \fi
\number\year}
% Current time; this may be system dependent!
\newcount\hours
\newcount\minutes
\def\SetTime{\hours=\time
\global\divide\hours by 60
\minutes=\hours
\multiply\minutes by 60
\advance\minutes by-\time
\global\multiply\minutes by-1 }
\SetTime
\def\now{\number\hours:\ifnum\minutes<10 0\fi\number\minutes}